//获取程序根目录
function getRoot() {
	var n = String(window.document.location);
	var arry = n.split("/");
	var webpath = arry[0] + "//" + arry[2] + "/" + arry[3];
	return webpath;
}

/**********************************@功能：web弹层组件**********************************/
/**
 * @author xucl
 * 创建时间 2015年10月29日16:15:22
 * 说明：web单层组件，实现弹出窗口。依赖库/static/weblib/layer1.8/layer.min.js
 * w：宽度
 * h：高度
 * title：标题
 * url：请求路径
 */
function open_dialog(w, h, title, url){
	if (w == null || w == '') {
		w=800;
	};
	if (h == null || h == '') {
		h=($(window).height() - 50);
	};
	if (title == null || title == '') {
		title=false;
	};
	if (url == null || url == '') {
		url="404.html";
	};
	$.layer({
    	type: 2,
    	shadeClose: true,
    	title: title,
		maxmin:true,
		shadeClose: true,
    	closeBtn: [0, true],
    	shade: [0.8, '#000'],
    	border: [0],
    	offset: ['20px',''],
    	area: [w+'px', h +'px'],
    	iframe: {src: url}
	});
}
function layer_open(w, h, title, url){
	if (w == null || w == '') {
		w=800;
	};
	if (h == null || h == '') {
		h=($(window).height() - 50);
	};
	if (title == null || title == '') {
		title=false;
	};
	if (url == null || url == '') {
		url="404.html";
	};
	layer.open({
        type: 2,
        title: title,
        shadeClose: true,
        shade: 0.8,
        maxmin: true, //开启最大化最小化按钮
        area: [w+'px', h+'px'],
        content: url
    });
}

//消息提示框
function layer_alert(msg){
	 layer.alert(msg, {
	        skin: 'layui-layer-molv'
	        ,closeBtn: 0
	        ,shift: 4 //动画类型
	        ,offset: 80
	    });
}
//消息提示框 点确定关闭所有的窗口
function layer_callback(msg){
	 layer.alert(msg, {
	        skin: 'layui-layer-molv'
	        ,closeBtn: 0
	        ,shift: 4 //动画类型
	        ,offset: 80
	    },function(){
        	var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
        	parent.layer.close(index);
        });
}


/**********************************web弹层组件**********************************/

/************************************ @功能：Ajax保存表单***********************/
/**
 * @author xucl
 * 创建时间：2015年10月29日17:29:07
 * 说明：表单保存公用方法，将表单中数据分装成json串，通过ajax传递给后台
 * @fromid 提交表单的id
 * @url	请求路径
 * @callback 回调函数(例：关闭弹窗并调用父页面的查询方法)(可选)
 **/
$.fn.serializeObject = function() {
    var o = {};
    var a = this.serializeArray();
    $.each(a, function() {
        if (o[this.name] !== undefined) {
            if (!o[this.name].push) {
                o[this.name] = [o[this.name]];
            }
            o[this.name].push(this.value || '');
        } else {
            o[this.name] = this.value || '';
        }
    });
    return o;
  };
//@代表在提交时不提交
$.fn.arryToObj = function() {
	var o = {};
	var allPropetry = {};
	var allObj = [];
	var objls = "";
	var jsons = this.serializeObject();
	// alert(JSON.stringify(jsons));
	for ( var key in jsons) {
		if (key.indexOf(".") == -1) {
			if (key.indexOf("@") == -1) {
				o[key] = jsons[key];
			}

		} else {
			var str = key.split(".");
			if (str.length == 3) {
				objls = str[0] + "." + str[1];
			}
			if (str.length == 2) {
				objls = str[0];
			}
			if ($.inArray(objls, allObj) == -1) {
				allObj.push(objls);
			}
			allPropetry[key] = jsons[key];
		}
	}
	// alert(allObj);
	// alert(JSON.stringify(allPropetry));
	for ( var data = 0; data < allObj.length; data++) {
		var obj = new Object();
		var str1 = allObj[data].split(".");
		objls = "";
		if (str1.length == 2) {
			if (!o[str1[0]]) {
				o[str1[0]] = [];
			}
		}
		for ( var key in allPropetry) {
			var str = key.split(".");
			if (str.length == 3) {
				objls = str[0] + "." + str[1];
				if (allObj[data] == objls) {
					obj[str[2]] = allPropetry[key];
				}
			}
			if (str.length == 2) {
				objls = str[0];
				if (allObj[data] == objls) {
					obj[str[1]] = allPropetry[key];
				}
			}
		}
		if (str1.length == 2) {
			o[str1[0]].push(obj);
		}
		if (str1.length == 1) {
			o[str1[0]] = obj;
		}
	}
	return o;
};
function submitForm(fromid, url, callback){
	var fromb = $("#" + fromid).arryToObj();
	$.ajax({
		type : "POST",
		url : url,
		dataType : "json",
		contentType : "application/json;charset=UTF-8",
		data : JSON.stringify(fromb),
		success : function(data) {
			if(typeof(callback)=="function"){
				callback(data);
			}
		},
		error : function(XMLHttpRequest, textStatus, errorThrown) {
			alert("保存失败，请与管理员联系！");
		}
	});
}

/**********************Ajax提交数据**************************/
/**
 * @author xucl
 * 创建时间：2015年10月29日17:29:07
 * 说明：表单保存公用方法，将表单中数据分装成json串，通过ajax传递给后台
 * @fromid 提交表单的id
 * @url	请求路径
 * @callback 回调函数(例：关闭弹窗并调用父页面的查询方法)(可选)
 **/

/**********************Ajax提交数据**************************/


//loading效果锁屏

var MaskUtil = (function() {
	var $mask, $maskMsg;
	var defMsg = '正在处理，请稍待。。。';
	function init() {
		if (!$mask) {
			$mask = $("<div></div>").appendTo(
					"body");
		}
		if (!$maskMsg) {
			$maskMsg = $(
					"<div>" + defMsg
							+ "</div>").appendTo("body").css({
				'font-size' : '12px'
			});
		}
		$mask.css({
			width : "100%",
			height : $(document).height(),
			background: "#ccc",
			position: "absolute",
			left: "0",
			top: "0",
			opacity: "0.3"
			
		});
		$maskMsg.css({
			left : ($(document.body).outerWidth(true) - 190) / 2,
			top : ($(window).height() - 45) / 2,
			"border-color" : "#95B8E7",
		    background: "#ffffff url('images/loading.gif') no-repeat scroll 5px center",
		    position: "absolute",
		    "margin-top": "-20px",
		    padding: "10px 5px 10px 30px",
		    width: "auto",
		    height: "16px",
		    "border-width": "2px",
		    "border-style": "solid",
		    display: "none"
			
		});
		    
	}
	return {
		mask : function(msg) {
			init();
			$mask.show();
			$maskMsg.html(msg || defMsg).show();
		},
		unmask : function() {
			$mask.hide();
			$maskMsg.hide();
		}
	}
}()); 